2.3. Установка Ozone в распределённой среде
Установка и настройка Apache Ozone: Установка в распределённой среде
Apache Ozone предназначен для работы в распределённой среде, где компоненты системы (OM, SCM и DataNodes) развернуты на разных серверах. Такая архитектура обеспечивает горизонтальное масштабирование, высокую доступность и отказоустойчивость. В этом разделе представлена инструкция по развертыванию Ozone в распределённой среде.
1. Предварительные требования
-
Серверы:
- Минимум 5 узлов:
- 1 или 3 узла для Ozone Manager (OM)
- 3 узла для Storage Container Manager (SCM)
- 3+ узла для DataNode
Больше узлов — лучше для отказоустойчивости.
- Минимум 5 узлов:
-
Общие требования:
- Установлены Java 11+ и Python 3.6+ на всех узлах.
- Доступ к интернету или репозиторию для установки зависимостей.
- Конфигурация сети с открытыми нужными портами (9878, 9861, 9862 и др.).
- Синхронизация времени на всех узлах через NTP.
-
DNS или IP:
- Каждому узлу присвоено имя хоста или статический IP-адрес.
- Узлы должны иметь возможность обмениваться данными между собой через сеть.
2. Развертывание на узлах (OM, SCM, DataNode)
-
Установка Apache Ozone на всех узлах:
Выполните следующие команды на каждом узле:wget https://downloads.apache.org/ozone/ozone-1.3.0/ozone-1.3.0.tar.gz
tar -xzf ozone-1.3.0.tar.gz
cd ozone-1.3.0
mkdir -p /var/lib/ozone -
Настройка
ozone-site.xml
на всех узлах:
Перейдите в директорию конфигураций:cd conf
nano ozone-site.xmlДобавьте следующие настройки:
<configuration>
<!-- Конфигурация OM -->
<property>
<name>ozone.om.nodes</name>
<value>om1,om2,om3</value>
</property>
<property>
<name>ozone.om.address.om1</name>
<value>om1.example.com:9878</value>
</property>
<property>
<name>ozone.om.address.om2</name>
<value>om2.example.com:9878</value>
</property>
<property>
<name>ozone.om.address.om3</name>
<value>om3.example.com:9878</value>
</property>
<!-- Конфигурация SCM -->
<property>
<name>ozone.scm.nodes</name>
<value>scm1,scm2,scm3</value>
</property>
<property>
<name>ozone.scm.address.scm1</name>
<value>scm1.example.com:9861</value>
</property>
<property>
<name>ozone.scm.address.scm2</name>
<value>scm2.example.com:9861</value>
</property>
<property>
<name>ozone.scm.address.scm3</name>
<value>scm3.example.com:9861</value>
</property>
<!-- Настройка DataNode -->
<property>
<name>ozone.datanode.data.dir</name>
<value>/var/lib/ozone</value>
</property>
</configuration> -
Настройка сетевых узлов:
Убедитесь, что все узлы видны друг другу через DNS или IP, и необходимые порты открыты.
3. Запуск и проверка работы компонентов
-
Запустите SCM на каждом SCM-узле:
Выполните на каждом узле SCM:bin/ozone scm --daemon start
-
Запустите OM на каждом OM-узле:
Выполните на каждом узле OM:bin/ozone om --daemon start
-
Запустите DataNode на каждом узле DataNode:
Выполните на каждом узле DataNode:bin/ozone datanode --daemon start
-
Проверка состояния узлов:
На одном из узлов выполните:bin/ozone admin service list
Убедитесь, что все OM, SCM и DataNode работают корректно.
4. Создание объекта для тестирования
-
Создайте volume:
bin/ozone sh volume create /distributed-volume
-
Создайте bucket:
bin/ozone sh bucket create /distributed-volume/mybucket
-
Добавьте файл в bucket:
echo "Данные Ozone" > data.txt
bin/ozone sh key put /distributed-volume/mybucket/mykey data.txt -
Проверьте содержимое файла:
bin/ozone sh key get /distributed-volume/mybucket/mykey
5. Мониторинг и управление кластером
-
Доступ к веб-интерфейсу:
Перейдите в браузере на адрес одного из узлов SCM или OM:http://scm1.example.com:8080
-
Интеграция с Prometheus и Grafana:
Настройте мониторинг, добавив метрики Ozone в Prometheus и визуализируйте их в Grafana для удобного наблюдения за кластером.
6. Остановка и перезапуск кластера
-
Остановите все компоненты:
Выполните на каждом узле:bin/ozone scm --daemon stop
bin/ozone om --daemon stop
bin/ozone datanode --daemon stop -
Перезапустите компоненты:
Для перезапуска выполните команды запуска снова.
7. Резервное копирование и восстановление
-
Резервное копирование метаданных:
Регулярно выполняйте резервное копирование данных SCM и OM, чтобы избежать потери метаданных. -
Восстановление из резервной копии:
При сбое используйте резервные копии для восстановления состояния кластера.
Итог
Установка Apache Ozone в распределённой среде позволяет создать высокоэффективное и отказоустойчивое хранилище данных. Следуя этой инструкции, вы сможете развернуть кластер Ozone с несколькими узлами OM, SCM и DataNode, обеспечив горизонтальное масштабирование и высокую надёжность системы хранения.